void fitAoZ2(){
  const double p[] = {
    2.12153e+00, 2.15483e+00, 2.18836e+00, 2.22246e+00, 2.25643e+00, // z=24, z+4->
    2.07697, 2.12046, 2.16493, 2.21039, 2.25559, // z=18, z+2->
    1.99092e+00, 2.05697e+00, 2.12158e+00, 2.18754e+00, 2.25412e+00, // z=12, z+0->
  };
  static const int n = sizeof(p)/sizeof(double);
  static const int N = 0;
  const double aoz[n] = {
    (52.+N)/24, (53.+N)/24, (54.+N)/24, (55.+N)/24, (56.+N)/24,
    (38.+N)/18, (39.+N)/18, (40.+N)/18, (41.+N)/18, (42.+N)/18,
    (24.+N)/12, (25.+N)/12, (26.+N)/12, (27.+N)/12, (28.+N)/12
  };
  for(int i = 0; i < n; i++) cout << "aoz[" << i << "]: " << aoz[i] << endl;
  cout << endl;
  map<double, double> m;
  for(int i = n; i--;) m[p[i]] = aoz[i];

  TGraph *g = new TGraph(n);
  int i = 0;
  for(auto &pair : m) g->SetPoint(i++, pair.first, pair.second);
  g->SetMarkerColor(2);
  g->SetMarkerStyle(20);
  g->GetXaxis()->SetTitle("A/Z given by Exp");
  g->GetYaxis()->SetTitle("Physical A/Z");
  TCanvas *c = new TCanvas("c", "calibration of A/Z", 800, 600);
  c->ToggleEventStatus();
  g->Draw();
  g->Fit("pol1");
} // end function fitZ
